import axios from "axios";
import querystring from "querystring";



const instance = axios.create({
    //公共配置
    baseURL: 'http://localhost:8080',
    timeout: 6000,//超时时间
    headers: {'X-Custom-Header': 'foobar'}
});

/**
 * 请求前拦截器(客户触发按钮请求后)
 */
instance.interceptors.request.use(
    function (config) {
        //如果是post请求，则将数据转换成querystring
        //  if (config.method=='post'){
        //      config.data=querystring.stringify(config.data)
        //  }
        //成功,config包含着网络所有信息
        return config;
    }, function (error) {
        //失败,把错误信息返回出去
        return Promise.reject(error);
    });
/**
 * 响应前拦截器
 */
instance.interceptors.response.use(
    function (response) {
        //成功,可以判断是否200啥的,做业务护理后在把自定义的数据返回出去
        // 比如解析完response后suuccess(code,data,msg)
        return response;
    }, function (error) {
        console.log('error',error)
        //失败,把错误信息返回出去
        // return Promise.reject(error);
        //把数据返回出去
        errorHandler(error.response.status,error.response.info)
    });
var errorHandler = (status,info)=>{
    switch (status) {
        case 400:
            console.log('请求错误')
            break;
        case 401:
            console.log('未授权访问')
            break;
        case 403:
            console.log('禁止访问')
            break;
        case 404:
            console.log('请求地址出错')
            break;
    }
}

export default instance